import java.io.*; public class Estadistica { double a[]; /* Constructor */ public Estadistica(double arr[]) { if (arr.length > 0) { a = new double[arr.length]; for(int i = 0; i < a.length; i++) { a[i] = arr[i]; } } } private void ordenar() { double tmp; int i,k; /* algoritmo de la burbuja */ for(k = 0; k < a.length; k++) for(i = 0; i < a.length - 1 ; i++) { if (a[i] > a[i+1]) { /* intercambio de posicion */ tmp = a[i]; a[i] = a[i+1]; a[i+1] = tmp; } } } public void verArreglo() { System.out.print("Arreglo : "); for (int i = 0; i < a.length; i++) System.out.print(a[i] + " "); System.out.println(); } /* retorna la mediana en funcion de la paridad del numero de elementos. Los ordena previamente */ public double mediana() { ordenar(); if (a.length % 2 == 0) { return (a[(a.length / 2) - 1] + a[a.length / 2]) / 2.0; } else { return a[(a.length - 1) / 2]; } } public static double promedio(double arr[]) { double sum = 0.0; for(int i = 0; i < arr.length; i++) { sum += arr[i]; } /* realiza un cast o conversion de tipo a la variable arr.length */ return sum / (double) arr.length; } public static double varianza(double arr[]) { double prom = promedio(arr); double sum = 0.0; for(int i = 0; i < arr.length; i++) { sum += Math.pow(arr[i] - prom,2); } return sum / arr.length; } public static void main(String args[]) throws IOException { BufferedReader in = new BufferedReader( new InputStreamReader(System.in)); int seguir = 1; int numDatos; double arreglo[]; while(seguir == 1) { System.out.print("Cantidad de datos a ingresar : "); numDatos = Integer.parseInt(in.readLine()); if (numDatos > 0) { arreglo = new double[numDatos]; for(int i = 0; i < numDatos; i++) { System.out.print("A[" + i + "] : "); arreglo[i] = Double.parseDouble(in.readLine()); } /* Crea instancia de clase u objeto */ Estadistica e = new Estadistica(arreglo); System.out.println("Mediana : " + e.mediana()); e.verArreglo(); /* accesa metodos estáticos que no necesitan instancia */ System.out.println("Promedio : " + Estadistica.promedio(arreglo)); System.out.println("Varianza : " + Estadistica.varianza(arreglo)); } else { System.out.println("Se necesita una cantidad de datos mayor que cero"); } System.out.print("\nSalir(0) , Seguir(1) : "); seguir = Integer.parseInt(in.readLine()); } // fin while } // fin main } // fin class